The present invention relates generally to electronic file systems. More specifically, the present invention relates to a system and method for managing files using a token action log.
In the 1980s, personal computers of various types became popular in business and home settings. Originally, a person""s electronic files could be kept on removable xe2x80x9cfloppy disksxe2x80x9d that had limited storage. Soon, higher-density disk storage became popular since it allowed people to store larger quantities of files. The cost of disk storage continues to drop, providing little incentive to curb the proliferation of files.
However, the incentive to curb the proliferation of files is that file systems can become unmanageable. Finding files can be a major chore. The systems for indexing files on content or other information are less than fulfilling. Such systems require that the user at least know enough about the file to find it. Unspecific searches can result in numerous files to sort through before finding the file or files of interest.
File systems can also require great effort to maintain because files and other stored entities have differing value to the system operators. What is needed is a way to identify which files have what value.
Most file systems allow a specific set of attributes to be attributed to individual files. For example, some files may be marked xe2x80x9cread-only,xe2x80x9d meaning that they can be read but not overwritten. Other files may be marked xe2x80x9chidden,xe2x80x9d meaning that they are not to appear on normal directory listings.
Many files systems also allow other file attributes such as the author or the modification date. Such attributes are primarily informational, not functional. For example, a file by one author does not automatically behave differently in the file system from a file by another author. Informational attributes can nevertheless be useful as a file search criteria (e.g. searching for files by a particular author).
The present invention extends files systems or programs that operate on file systems by allowing individual files to possess arbitrary attributes that point to customizable actions. These attributes control the behavior of the file system under specified conditions.
In one embodiment, a file system includes a method for creating and storing one or more tokens and a token action log to associate each token with a customizable set of one or more actions. Each token is to trigger the associated set of one or more actions in response to accompanying a file-system entity that experiences an event. File events occur in conjunction with usual functions of the file system or in conjunction with programs that utilize the file system. Events might include accessing a file, deleting a file, opening a file, copying a file, printing a file, emailing a file, backing up a file, moving a file, creating a file, receiving a file from an external source, overwriting a file, modifying a file, etc. Other events might be time dependent, such as a certain period of time passing since an event occurred.
The xe2x80x9ctoken action logxe2x80x9d that associates tokens with actions could be called by other names, such as xe2x80x9ctoken repository,xe2x80x9d xe2x80x9ctoken registery,xe2x80x9d xe2x80x9ctoken register,xe2x80x9d etc. However, the name xe2x80x9ctoken action logxe2x80x9d (abbreviated: TAL) will be used herein, or xe2x80x9ctoken logxe2x80x9d for short.
In one embodiment, the operator of the file system instructs a program that might be called a xe2x80x9ctoken log managerxe2x80x9d (TLM) to store a token as a meaningful or arbitrary symbol. For example, a token might be created to flag all files pertaining to a certain project. The token would be stored in the token action log (TAL), along with desired actions corresponding to given file events. For example, when the project is completed, any files pertaining to that project should be archived and deleted from the file system. The event is the completion of the project, which may be indicated by passing a certain time, or indicated by the operator. The token for that project would therefore be attached to or otherwise associated with any files pertaining to that project. At the event signifying the completion of the project, the TLM would initiate the actions recorded in the TAL for the relevant files.
Other tokens might be created for files of a particular worth. For example, a token might be created for xe2x80x9ctemporaryxe2x80x9d files. The corresponding action recorded in the TAL might be to delete the file if five days have passed since the last time the file was accessed. As such, any file associated with the xe2x80x9ctemporaryxe2x80x9d token will be automatically deleted if not accessed for five days, freeing up disk space.
As another example, a token might be created for xe2x80x9cimportantxe2x80x9d files. The corresponding action recorded in the TAL might be to not allow the file to be deleted without first confirming with the file system operator, or automatically backing up the file if modified and not backed up within a pre-specified interval.
As still another example, a token might be created for xe2x80x9cconfidentialxe2x80x9d files. The corresponding action recorded in the TAL might be prompting the user before allowing the file to be transmitted outside of the file system (such as via email), or requiring that the user be authenticated before allowing him or her to open the file, or automatically printing the word xe2x80x9cconfidentialxe2x80x9d on the paper when the file contents are printed.
As yet another example, a token might be created to automate functions of program execution within the file system. A token might be created with actions to open a task list upon the event of a program file being executed. That xe2x80x9copen task listxe2x80x9d token might then be attached to program files that the operator would like to be used with the task list. When those program files are executed, the token log manager would identify the xe2x80x9copen task listxe2x80x9d token and open the task list, perhaps even highlighting those activities within the task list pertaining to the attached program file.
Alternatives to the xe2x80x9copen task listxe2x80x9d token concept may be xe2x80x9copen recently-edited files listxe2x80x9d token (to automatically show a list of recent files that can be edited by the program file), or an xe2x80x9copen bookmarks listxe2x80x9d token (to automatically show a list of files or other documents that have been bookmarked by the operator).
Additional aspects and advantages of this invention will be apparent from the following detailed description of preferred embodiments, which proceeds with reference to the accompanying drawings.